package com.naiterui.ehp.bp.support.message;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;

/**
 * 异常类message资源加载器
 *
 * @author zhouyanxin
 * @since 1.0.0
 */
@Component
public class ErrorMessageLoader extends AbstractMessageLoader {

    private static final Logger LOGGER = LoggerFactory.getLogger(AbstractMessageLoader.class);

    /**
     * 公共异常资源文件名
     */
    private static final String BASE_FILE_NAME = "base_err_message.properties";

    /**
     * 各业务服务自定义的异常资源文件名
     */
    private static final String CUSTOM_FILE_NAME = "config/err_message.properties";

    /**
     * 启动加载
     *
     * @throws Exception
     * @Author zhouyanxin
     * @Date 2017年11月10日
     * @see org.springframework.beans.factory.InitializingBean#afterPropertiesSet()
     * @since 1.0.0
     */
    @Override
    public void afterPropertiesSet() throws Exception {
        LOGGER.info("loading message resources");
        this.loadMessage();
    }

    /**
     * 加载资源
     * ErrorMessageLoader.loadMessage()
     *
     * @Author zhouyanxin
     * @Date 2017年11月10日
     * @since 1.0.0
     */
    private void loadMessage() {

        // 加载公共异常资源
        this.resloveMessageFromProperties(this.loadMessageAsProperties(BASE_FILE_NAME));

        // 加载当前服务自定义的异常资源
        this.resloveMessageFromProperties(this.loadMessageAsProperties(CUSTOM_FILE_NAME));
    }


}
